// 7-36 Left-pad (20分)
// 根据新浪微博上的消息，有一位开发者不满NPM（Node Package Manager）的做法，收回了自己的开源代码，其中包括一个叫left-pad的模块，就是这个模块把javascript里面的React/Babel干瘫痪了。这是个什么样的模块？就是在字符串前填充一些东西到一定的长度。例如用*去填充字符串GPLT，使之长度为10，调用left-pad的结果就应该是******GPLT。Node社区曾经对left-pad紧急发布了一个替代，被严重吐槽。下面就请你来实现一下这个模块。

// 输入格式：
// 输入在第一行给出一个正整数N(≤10^4)
// 和一个字符，分别是填充结果字符串的长度和用于填充的字符，中间以1个空格分开。第二行给出原始的非空字符串，以回车结束。

// 输出格式：
// 在一行中输出结果字符串。
#include <stdio.h>
#include <string.h>
#define MAXN 10001

char * MyStrcpy(char * dst, const char *src);
int main()
{
    char myStr[MAXN], fill, ret[MAXN], c;
    int n, idx;
    scanf("%d %c\n", &n, &fill);
    fgets(myStr, MAXN, stdin);
    for (idx = 0; myStr[idx] != '\0' && myStr[idx] != '\n'; idx++)
    {
        continue;
    }
    if (myStr[idx] == '\n')
    {
        myStr[idx] = '\0';
    }
    else
    {
        while( (c = getchar()) != '\n')
        {
            MyStrcpy(myStr, myStr + 1);
            myStr[MAXN - 2] = c;
        }
    }
    
    if (strlen(myStr) > n)
    {
        strcpy(ret, &myStr[strlen(myStr) - n]);
    }
    else
    {
        for (idx = 0; idx < n - strlen(myStr); idx++)
        {
            ret[idx] = fill;
        }
        strncpy(&ret[idx], myStr, MAXN - (n - strlen(myStr)) - 1);
        ret[MAXN - 1] = '\0';
    }
    printf("%s", ret);

    return 0;
}

char * MyStrcpy(char * dst, const char *src)
{
    int idx = 0;
    while (src[idx])
    {
        dst[idx] = src[idx];
        idx++;
    }
    dst[idx] = '\0';

    return dst;
}
// 输入样例1：
// 15 _
// I love GPLT

      
    
// 输出样例1：
// ____I love GPLT

      
    
// 输入样例2：
// 4 *
// this is a sample for cut

      
    
// 输出样例2：
//  cut